Service Function Chaining SFC is a network technology which is being researched and standardized currently. Since data center networks developed into overlay networks, network edge has become the boundary point of a virtual network and a physical network, herein network edge is a server or a ToR, or may be a gateway. However, Overlay technology does not solve all the problems, in a data center, there are a plenty of pieces of middleware, for example, firewalls/load balancers, which perform process based on user services. It is apparently impractical to traverse the middleware through tunnels.
The deployment model of a data center requires the arbitrary deployment of a virtual firewall/load balancer in a network, that is, the deployment of a virtual firewall/load balancer is independent from the topology of a network. That gives rise to a new problem about how to make traffic flexibly pass through a virtual firewall/load balancer for processing. To deal with the problem, a new type of middleware, that is, a virtual firewall/load balancer, is generated which is deployed at the edge of a network and may be realized by a standard server.
In the related technology, service processing functions such as virtual firewall/load balancer/gateway are referred to as Service Function SF, and traffic is processed by a series of service functions to form a service function chaining SFC. FIG. 1 is a schematic diagram of an SFC according to the related technology. As shown in FIG. 1, the arrowed solid line and the arrowed dotted line represent two SFCs respectively.
In the related technology, currently, the frame of an SFC may be basically divided into the following elements:
1: Service Overlay: an Overlay technology that various network edge nodes need to communicate:
2: Generic Service Control Plane GSCP: a controller for forming an SFC;
3: Service Classifier: a service classifier needs to perform flow recognition, and carries out a specific SFC processing for a specific flow;
4: Dataplane Metadata: dataplane metadata is a major characteristic of SFC, Metadata allows exchange information to be transferred and shared between a service classifier and an SF, between SFs, between an SF and an external system, and among edge service processing nodes, thereby achieving the purpose of processing a specific service.
5: Service Function Path SFP: FIG. 2 is a diagram exemplifying an SFP according to the related technology, and as shown in FIG. 2, an SFP is a service processing path starting from a service classifier, passing through a plurality of service function instances and arriving at a destination.
Therefore, in the related technology, the service function and the forwarding function of a network device are separated to realize the independent operation and processing of the service function and improve the forwarding performance of the network device.
Further, in related SFC technology, Dataplane Metadata is a data area in which the exchange information between nodes is stored. Thus, besides the packet transferred between the SFs in an SFC, the exchange information of the SF in the SFC may be stored in Dataplane Metadata so that the calculation result of a previous node may be acquired by the following node conveniently to avoid repeated calculation. Metadata will be sent to the next processing unit together with packets. FIG. 3 is a diagram exemplifying the encapsulation of Dataplane Metadata as the content of a packet according to the related technology. As shown in FIG. 3, Dataplane Metadata may be encapsulated into a packet and sent together with the packet. FIG. 4 is a diagram exemplifying Dataplane Metadata as an independent message according to the related technology. As shown in FIG. 4. Dataplane Metadata may also be used as an independent message body to be sent in parallel with a packet.
For example, service classifier→SF1→SF2 is a part of a service function path (SFP for short). A packet is processed by an SF1 first and then by an SF2. As both of the SF1 and the SF2 need to search the same ACL table, an ACL table item search process will be separately executed by the SF1 and the SF2, which causes a repeated search by the SF2. In the case of the storage of exchange information in Metadata, after searching an ACL, the SF1 places the result of the search in Metadata, encapsulates the Metadata in a packet and then sends the packet to the SF2. After receiving the Metadata, the SF2 directly acquires the ACL search result from the Metadata to use, thus avoiding a repeated ACL search process and consequentially improving the packet forwarding performance in an SFC.
However, in the related technology, the SF1 is unaware of whether the SF2 needs the ACL search result. Moreover, the table items searched for by the SF1 may be other types, but not limited to the ACL, thus, information is not exchanged in a targeted way, and the blind information exchange causes the waste of resources.
Therefore, in the related technology, as information is not exchanged in a targeted way, the blind information exchange leads to a problem of the waste of resources.